package com.library.system.modules.file.entity;

import java.time.LocalDateTime;

import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;

/**
 * 文件表(File)实体类
 *
 * @author xyh
 * @since 2023-09-10 08:58:33
 */
@Data
@TableName(value = "lib_file")
public class File implements Serializable {
    @TableField(exist = false)
    private static final long serialVersionUID = 655390924032162464L;

    /**
     * 主键ID
     */
    private Integer id;
    /**
     * 用户账号
     */
    private String username;
    /**
     * 原始文件名
     */
    private String originalFilename;
    /**
     * 文件大小
     */
    private Long fileSize;
    /**
     * 文件访问地址
     */
    private String url;
    /**
     * 存储平台
     */
    private String storagePlatform;
    /**
     * 基础存储路径
     */
    private String basePath;
    /**
     * 存储路径
     */
    private String storagePath;
    /**
     * 存储文件名
     */
    private String storageFilename;
    /**
     * 文件扩展名
     */
    private String ext;
    /**
     * 文件所属对象类型，如用户头像
     */
    private Integer objectType;
    /**
     * 文件标识，唯一
     */
    private String fileSign;
    /**
     * 逻辑删除标识, 1:删除
     */
    private Byte delFlag;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

}
